package thread;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 25397
 * Date: 2022-03-26
 * Time: 19:34
 */
public class Demo12 {
    public static void main(String[] args) {
        Thread t= new Thread(()->{
            for(int i=0;i<5;i++){
                System.out.println("hello Thread");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        t.start();

        //在主线程中就可以使用一个等待操作，来等待t线程执行结束
        try {
            t.join(1000);
            //首先，调用这个方法的线程是main线程，是针对t这个线程对象调用的
            //此时就是让main等待t(t先结束，main后结束，一定程度上干预了两个线程的执行顺序)
            //调用join之后，main线程就会进入阻塞状态(main暂时无法在cpu上执行)
            //代码执行到join这行，就暂停了，不再继续往下执行
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
